package ob_TakeNote;

import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

/**
 * 给出一个文件夹的绝对路径，返回一个
 * List<File>，里面是该文件夹下所有文件的File对象
 */
public class GetFilePath_ob {

    public static HashSet<File> getAllFilePaths(File dir) {
        HashSet<File> filesList = new HashSet<>();

        // 安全校验：确保目录存在且可访问
        if (dir == null || !dir.exists() || !dir.isDirectory()) {
            return filesList;
        }

        File[] files = dir.listFiles();
        if (files == null) return filesList; // 处理无权限目录

        for (File f : files) {
            if (f.isDirectory()) {
                // 递归获取子目录文件路径，并合并结果
                filesList.addAll(getAllFilePaths(f));
            } else {
                // 添加File对象到列表
                if(f.toString().endsWith(".md")||f.toString().endsWith(".png")) filesList.add(f);
            }
        }

        return filesList;
    }

}